home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 14 / CU Amiga Magazine's Super CD-ROM 14 (1997)(EMAP Images)(GB)(Track 1 of 3)[!][issue 1997-09].iso / CUCD / Programming / GMS / Source / E / Screens / Reposition.e < prev    next >
Encoding:
Text File  |  1997-05-03  |  1.8 KB  |  55 lines

  1. /* Reposition 320
  2. ** --------------
  3. ** This example has a mobile 320x256 screen, which is attached to the
  4. ** joystick.
  5. **
  6. ** To exit the example, press fire. 
  7. */
  8.  
  9. MODULE 'games','games/games'
  10.  
  11. PROC main()
  12.    DEF screen:PTR TO gamescreen, joy:LONG, loadpic:PTR TO picture
  13.  
  14.    IF gmsbase := OpenLibrary('GMS:GPI/Master.GPI',0)
  15.       SetUserPrefs(0)
  16.       IF (screen := AddScreen([TAGS,0,
  17.           GSA_PALETTE,[ $000000,$103000,$F0C0B0,$F0A090,$D08080,$906050,$604040,$201010,
  18.                         $400000,$404040,$F0F000,$403020,$C0C000,$105000,$500010,$808000,
  19.                         $206010,$207010,$308020,$409020,$50A030,$50B040,$607070,$60C040,
  20.                         $708080,$90A0A0,$B0C0C0,$800010,$900010,$A00020,$700010,$600010 ]:LONG,
  21.           GSA_SCRWIDTH,  320,
  22.           GSA_SCRHEIGHT, 256,
  23.           GSA_PLANES,    5,
  24.           TAGEND]))
  25.  
  26.          IF (loadpic := LoadPic([TAGS,0,
  27.             PCA_DATA,       screen.memptr1,
  28.             PCA_WIDTH,      320,
  29.             PCA_HEIGHT,     256,
  30.             PCA_AMTCOLOURS, 32,
  31.             PCA_PALETTE,    screen.palette,
  32.             PCA_FILE,       'GMS:demos/data/PIC.Green',
  33.             TAGEND]))
  34.  
  35.             ShowScreen(screen)
  36.  
  37.             REPEAT
  38.               joy := ReadJoyPort(JPORT2,JT_SWITCH)
  39.               IF (joy AND JS_RIGHT) THEN screen.scrxoffset := screen.scrxoffset+1
  40.               IF (joy AND JS_LEFT) THEN screen.scrxoffset := screen.scrxoffset-1
  41.               IF (joy AND JS_UP) THEN screen.scryoffset := screen.scryoffset-1
  42.               IF (joy AND JS_DOWN) THEN screen.scryoffset := screen.scryoffset+1
  43.               WaitVBL()
  44.               RemakeScreen(screen)
  45.             UNTIL !(joy AND JS_FIRE1)
  46.  
  47.          FreePic(loadpic)
  48.          ENDIF
  49.       DeleteScreen(screen)        
  50.       ENDIF
  51.    CloseGMS()
  52.    ENDIF
  53. ENDPROC
  54.  
  55.